thoughts on standard environment; layer of indirection on `apply` to help experiment with new environment models