don't wrap positioned smart constructor by WithKind smart constructor
Summary:
parser requires smart constructor node to implement `smart_constructor::NodeType`, `smart_constructor_wrapper::WithKind` is smart constructor, which wraps each node with kind, it lifts any smart constructor to a smart constructor with node implementing `NodeType`.
However if a node in a smart constructor already be able provide kind information, this wrapper is redundant, it also improves perf.
service lab reports ~2% win
Reviewed By: shayne-fletcher
Differential Revision:
D26419802
fbshipit-source-id:
c51edd2d460275f126abe4d3faeee1050eb4c457