add spec on implicit type constrait.