Type hinting to avoid reflection