back to function definitions - didn't like the __proto__ not being std