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.


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()

        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:

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