All expand options inherit Sitecore.XConnect.Model.ExpandOptions, and can both be passed into .GetAsync<TEntity>. If you use an expand options type that is not supported by the entity (for example, using ContactExpandOptions instead of InteractionExpandOptions when retrieving an interaction), you will get an ArgumentOutOfRange.
When an interaction is returned, you can inspect the ExpandOptions property on that interaction to see what expand options was used when it was retrieved. This will help you determine if a facet is null because it was not set, or because it was not requested.