generalise mapping interface
export :*: in the multi projection module
lift functor instances to products