They are only meant to be used internally. This reduces the risk of SDK users sending garbage when we expect a specific type.