Fixed returns statement falling through, added ambiguous check.