bindはクロージャが無いと無理だし、静的型付けの言語でreturnを多相にするなら型クラスが居るよね