nostr:nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpquvfvlddmhuh4hu4teupjs2lkdn8x3htrrw7jlwzuv0ushumkwnhq6n66f2 While I think effect is somewhat captured by the second point, I think it is distinct enough to warrant it's own bullet. So yeah I'll add that one.
Related to that is domain knowledge of a program. The absolute most basic step to understanding a program is knowledge of what the program does at the user level (its inputs and outputs) that the user experiences. That particular thing though is likely less relevant to this project because I am not sure what tool I would write to help with that.