Scriptable Object with list of abstract scriptable objects

I would like to have a scriptable object that manages a list of scriptable objects with an abstract class definition. I have a single reference to an abstract class but for whatever reason the editor doesn’t seem to recognize a list of abstract classes. I feel like I am missing something.

Example:

Manager Class:

public abstract class UtilityBrain<T> : ScriptableObject, IBrain<T>
{
    public List<Appraisal<T>> appraisals;
    public SelectionStrategy strategy;

    public T Select(List<T> contexts)
    {
        float[] scores = contexts.Select(
            context => appraisals.Select(appraisal => appraisal.GetScore(context)).Average()
        ).ToArray();

        int bestActionIx = strategy.Select(scores);

        return contexts[bestActionIx];
    }
}

List Managed Abstract Class:

public abstract class Appraisal<T> : ScriptableObject, IAppraisal<T>
{
    public abstract float GetScore(T context);
}

Single Member Abstract Class:

public abstract class SelectionStrategy : ScriptableObject, ISelectionStrategy
{
    public abstract int Select(float[] scores);
}

For some reason Unity is only recognizing the Single Member Class:
205629-i3krhkx2xn.png

UnitOrderBrain is a simple concrete subclass of UtilityBrain specifying the generic type. Are the generics messing it up?

Thanks!