scala variants