Triangulating Angles Prompt:
You are given two sets of XY coordinates along with two angles (all are floats): X1 Y1 A1 X2 Y2 A2. The angles are relative to world coordinates: 0 being straight up or north and going clockwise.
Your program or function has to return a set of two floats of the XY coordinates the two angles cross at.
Example:

In this case, the resulting point is between the two inputted points. For the case 100 500 50 300 600 80 (using degrees), the correct answer is 198 582. Online representation here
Other examples of edge cases:
1 1 45 4 4 45 returns NULL
1 4 45 2 4 45 returns NULL
https://imgur.com/a/2t0vky8
Rules:

Angles can be in radians or in degrees
The program should have a separate answer if there is not a valid answer: if the two lines are parallel (zero solutions) or the same line (infinitely many solutions)
The value returned can be represented in any form: 198;582, 198 582 and 198_582 are all valid
The answer can be rounded to a full number
This is code-golf
JavaScript (ES6), 76 bytes
Expects the angles in radians. Returns either [x,y] or 0 if the lines are parallel or coincident.

(x,y,a,X,Y,A)=&gt;a-A&amp;&amp;[(m=(t=Math.tan)(a))*(X-=(x-=m*y)+t(A)*Y,X/=m-t(A))+x,X]

Try it online!
Or 71 bytes if we can just return [Infinity,Infinity] for invalid inputs.