blocks for collections

adds the functionality described in apotonick/representable#17