optimize combinators for brick chaining, implement change protocol, don't use member constraints, use an identity retrieving function instead, add Projector and some more combinators