if ⊥ returns a scalar, it must be a simple scalar