Fix minor code review issues

Update array notation
Fix return annotation
Add a !method_exists check
Add scenario for an existing constructor