The type own-env-t is Environment::template
env_type<decltype(get_env(declval<Rcvr>()))> if that
qualified-id is valid and denotes a type, env<> otherwise.
own-env
with own-env-t(get_env(rcvr)) if that expression
is valid and own-env-t() otherwise.
If neither of these expressions is valid, the program is ill-formed.
environment with Environment(own-env) if that expression is
valid, otherwise Environment(get_env(rcvr))
if this expression is valid, otherwise Environment().
If neither of these expressions is valid, the program is ill-formed.