because I'm doing a cast here. all of these functions take one extra argument (element) which is curried before the function is exposed as public api. This meta-programming confuses the closure compiler, so I had to resort to this cast.