add function comments, remove Protocol\DataType, rename Type\Map to
Type\CollectionMap