raise error if a class is new'd with arguments and class has no #init
convert these to sl_error() calls
split Range into Range::Inclusive and Range::Exclusive classes