> undefinedでもなくnullでもなく空文字でもない文字列かどうか

空配列かどうかも一応？

> なんとなく function だったら false でもいいような気がしますがどうでしょう？

`canl`という関数名が変われば違和感ないです。
`can~`という名前だと「有効」とか「できる」とか「肯定」的なニュアンスですので、
普通に実行できる`function`は`true`では、と個人的には思ってしまいます。