Handles substitution correctly with no […].  Haven't tested brackets.