Added `implicit` and `explicit` as keywords

Signed-off-by: K-ballo <k@fusionfenix.com>
Changes to printing template parameters

Signed-off-by: K-ballo <k@fusionfenix.com>
Optional template parameters for function declaration

Signed-off-by: K-ballo <k@fusionfenix.com>