no need to expose limitBefore and limitAfter, should not be used by itself
update ArrayExpression hook and implement basic whiteSpace.limit