参照透過性があってメモ化が可能で状態の無いピュアな関数だけだから関数型だ