move kind_of test to prelude
always return self so that we could chain modifiers