Add foo functionality

Without this patch, we cannot foo, which is very sought after in many
different contexts.