Extra validation and generic typing and typechecking in bookshelf manager, should fix #11