add ::length; finish ArrayRules