All pools in Balancer are also ERC20 tokens known as BPTs (Balancer pool tokens) which represent proportional ownership in the pool's liquidity. When users add liquidity through joinPool or joinswap* they receive BPTs proportional to the amount of assets they are adding to the pool.
BPTs are an opinionated ERC20 token implementation and have a few subtle differences. transferFrom from itself does not require a previous allowance.