add tests to new mapping methods, make sure that asserts on mapping protocol happen only for class mappings. Add a warning on recursive mappings.