New way of structuring the type (env mixes in impl)