QueryBuilder::whereCriteria: possibility to pass callback

This is weird, right? Wouldn't it better to remove the typehint and validate the type in the method, so you can call `->whereCriteria($filter);` ?