change syntax for object construction

before:
    T(X, Y)

after:
    T<X, Y>

because previous syntax conflicts with function call with {} block.

related issue: #15